package 文件操作.fileCopy;
import java.io.*;
import java.util.*;

public class FileCopy {
    public static void main(String[] args) {
        // 进行文件复制
        Scanner in = new Scanner(System.in);
        System.out.println("请输入需要复制的文件的路径");
        String srcPath = in.next(); //待复制文件路径

        System.out.println("文件复制到 ? (输入路径)");
        String destPath = in.next(); // 文件复制到哪里

        File srcFile = new File(srcPath);
        if (!srcFile.exists()) {
            System.out.println("文件不存在");
            return ;
        }
        if (srcFile.isDirectory()) { // 如果是目录
            System.out.println("待复制对象不能是目录");
            return ;
        }

        File destFile = new File(destPath);
        if (destFile.exists()) { // 如果已经存在了
            return ;
        }

        try (InputStream inputStream = new FileInputStream(srcFile);
             OutputStream outputStream = new FileOutputStream(destFile)) {
            while (true) {
                byte[] b = new byte[1024];
                int length = inputStream.read(b);
                if (length == -1) { // 文件读完
                    break;
                }
                outputStream.write(b, 0, length);
            }
            System.out.println("复制完成");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
